



 |
Troubleshooting and Configuring the Windows NT/95 Registry
-15-
Troubleshooting and
Configuring Hardware Registry Settings
Because the Registry is such an integral part of how hardware works in Windows
NT and 95, there may be times when you need to change it to make different functions
work. This chapter shows several of those options. Microsoft has to put out their
operating system according to their best guess of how everyone would like it. If
you try to do something they didn't anticipate, you can get errors. Those errors
may require a change to the Registry.
Troubleshooting Hardware Settings
The key to all troubleshooting is isolation. You need to isolate the problem to
be able to fix it.
Most of the time, when you get a hardware problem in NT or 95, you get an error
message. Some of the error messages are easier to decipher than others, and sometimes
they give you no clue at all. Normally, though, at least the error message tells
you what didn't work.
In Windows 95, the first thing to do is to restart the system. In many cases,
restarting the system will reconfigure the Registry for you, and the problem may
go away. Restarting is particularly helpful if you leave your system running all
the time. It seems as if some of the challenges are cumulative, and the longer you
leave your system running, the worse it gets. Restarting your system is a little
like slapping it around to wake it up and take notice of what it is supposed to do.
After restarting, check the Device Manager in Control Panel | System. All of the
hardware devices are there, and the configurations are accessible. If the configuration
seems OK, check to see if the hardware is working correctly with its diagnostic program,
or use a third-party diagnostic program to test it.
Some Hardware Problems Associated
with the Registry
This section examines some problems that are associated with the Registry and
its data. Each problem is in the form of a question, with its answer specified. In
many cases, the answer can also be applied to other similar circumstances. Each question
also indicates whether the problem is from Windows 95, NT, or both.
SOLUTIONS: When
I start Windows 95, I get a strange error message that looks for a device file. It
doesn't list a file, so I can't tell which file to replace. What do I do? If you
have ever seen this error message, you've probably been bewildered:
Cannot find a device file that may be needed to run Windows or a Windows application.
The Windows registry or SYSTEM.INI file refers to this
device file, but the device file no longer exists.
If you deleted this file on purpose, try uninstalling
the associated application using its uninstall program or setup program.
If you still want to use the application associated
with this device file, try reinstalling that application to replace the missing file.
It would be easier if the file were listed. Because there is not one listed, it
means that one of the StaticVxD (virtual device driver) values in the Registry
is blank, contains only spaces, or contains corrupted information. The StaticVxD
values are in HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD key,
as shown in Figure 15.1.
Figure
15.1. The StaticVxD
values in the Registry of Windows 95.
The asterisk in front of the name means it is part of theVMM32.VXD file.
Without one, it would be a regular file copied to the hard disk. If the problem entry
is part of VMM32.VXD, you will need to replace the whole file.
Remember that information in the Registry can be corrupted, and the best way to protect
yourself is to have a backup of the Registry, as outlined in Chapter 4, "Protecting
the NT Registry," and Chapter 6, "Protecting the Windows 95 Registry."
SOLUTIONS: How
do I fix a Registry access failed message? When Windows 95 is detecting hardware
in Control Panel/Add New Hardware, I get the following error message:
SDMErr(80000003): Registry access failed.
To fix that Registry problem, you will need to use REGEDIT.EXE in real mode.
Don't worry; it's not as bad as it seems. Restart your computer, and while it is
booting, at the Starting Windows 95 message, press F8, and choose Safe Mode Command
Prompt Only from the menu. At the DOS prompt, type REGEDIT /E REG.TXT and
press Enter. Ignore any messages. At the next DOS prompt, type REGEDIT /C REG.TXT
and press Enter. Restart your computer, and the Registry file data structures will
have been regenerated, the Registry should work fine, and you will be able to detect
new hardware.
REGEDIT.EXE in Windows 95 can also be run for other functions in real
mode. For more options and instructions for its use in real mode, restart the system
to Safe Mode Command Prompt Only and type REGEDIT /?. The help file will
review all of the command-line options.
SOLUTIONS: I
changed the role of my system in the File System section of the Performance section
in the System applet in the Control panel, and my performance went down. What did
I do wrong? Assuming that you chose a value that reflected the actual nature of the
work you do, it wasn't you. To choose a performance profile, select Control Panel
| System | Performance | Advanced settings | Typical role of this machine, and you
will see the dialog box pictured in Figure 15.2.
Figure
15.2. Changing the
performance characteristics of your Windows 95 system.
If that doesn't change the performance of your system, there is probably a corrupted
value in the Registry. The NameCache and PathCache values in the
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\
FS Templates key control how the performance functions work. The keys Desktop,
Mobile, and Server hold the necessary information. Desktop
shows
no values for NameCache or PathCache because the default performance
characteristics are set for a desktop system. For a Mobile or docking system profile,
use the following data in the Mobile key.
Value Name |
Value Data |
NameCache |
51 01 00 00 |
PathCache |
10 00 00 00 |
In the Server key, the data for the Network Server profile should be the
following.
Value Name |
Value Data |
NameCache |
a9 0a 00 00 |
PathCache |
40 00 00 00 |
If any of the settings are not correct in your system, your performance will suffer
greatly.
Setting the performance options will greatly affect your system performance, and
then you can be sure that your settings are correct and you are actually getting
the performance you requested. Another performance tip is to use a logon script to
map all of your network drives and printers to drive letters and printer ports. Occasionally,
there are problems with how the requests are handled.
SOLUTIONS: When
my logon script in Windows 95 tries to set up my printers on the network with a NET
USE LPT2: \\Server1\Laser command, I get an error that says the device does not exist
on the network. I know it does, because it works from other machines. What can I
do? This error happens when you use a port that is not actually on your system. Of
course, having additional printers other than what you have the capacity for is part
of why we have networks. A simple change will make it so your system can use any
virtual port for assignment to a network printer. To fix the error condition, you
could either change each printer in the Control Panel | Printers | File | Properties
| Details | Port Settings and deselect the Spool MS-DOS Print Jobs option, or you
could change the Registry one time for all printers on that system. The Registry
change is in HKEY_LOCAL_MACHINE\System\CurrentControlSet\ control\Print\Printers.
Add two DWORD values, and set them both to 0 to disable the spooling
of MS-DOS print jobs.
DOSSpoolMask
PrintersMask
Even though you may use your printers only for Windows print jobs, this will make
your system recognize them when they are set up in your logon script. If you connect
to your printers through the Control Panel function for printers, you will not need
to do this.
Most of the time, servers are not used to run applications. In some circumstances,
however, it is necessary to use them as a workstation. It may be that you have a
very small network and cannot dedicate a system exclusively to the network, or maybe
you need to run applications at the server occasionally because of its location or
connections. NT Server is tuned differently than Workstation to handle its role more
effectively. That tuning may make the system behave a little differently than you
might expect. The next Solution shows that.
SOLUTIONS: Why does it take so long to launch
my 16-bit Windows applications on my server? By default, the Windows-on-Windows (WOW)
function does not start on a server until an application that is using it starts.
Then, after it starts, it will stay in memory ready to be used until the system is
restarted. On a Workstation, the WOW files are automatically launched at startup.
If you are going to be using 16-bit Windows applications at your server, and you
want them to launch faster, change the Registry. The value to change is in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\ WinLogon. In the Userinit value, add the following
text to the rest of the data.
,win.com wowexec
With the data in the value, it will look like Figure 15.3, and the server will start
your 16-bit Windows applications faster.
Figure
15.3. The server will automatically start the
WOW executables.
Just because you are upgrading your operating system software, that doesn't mean
you want to change all of the other application software or your hardware. Backward
compatibility is a two-edged sword. You always limit performance when you ensure
that older devices and software will work. On the other hand, if your current investment
in hardware and software will not work on the new OS, it might not be a wise decision
to upgrade. Here is another example of making backward compatibility work.
SOLUTIONS: I
want to use my old modem with NT 4.0, but it says it is not supported. It worked
in NT 3.51, so what do I need to do to make it work? NT 4.0 uses the UNIMODEM driver
for all the modems it supports. Those are the same drivers that work for Windows
95. If you have a Windows 95 driver for your modem, you could just use that, or you
can make a change to the Registry that will allow you to use the older modem. In
HKEY_LOCAL_MACHINE\ SOFTWARE\Microsoft\RAS\Protocols, add a new REG_DWORD
value called EnableUnimodem. Set it to 0 to turn off the UNIMODEM driver
requirement, and restart your system. After restarting your system, install the driver
for your modem.
Fonts in Windows 95 and in NT 4.0 are stored in the Fonts folder and registered for
use in the Registry. If the Font ID gets corrupted in the Registry, you can restart
your system, as illustrated in Chapter 3, "Potential Registry Problems."
The next question is also related to fonts, but is associated with font entries in
the Registry.
SOLUTIONS: On
my Windows 95 system, and also on my NT 4.0 system, I try to add TrueType fonts,
and I get an error message that says they are already installed, and that I need
to remove the old ones first. I checked in the folder, and they are not there and
do not show up when I try to use the fonts in my applications. What should I do?
You will need to fix the Registry. The fonts key is either missing or damaged.
Before working on the Registry, move all the font files to another location (an empty
folder is the easiest). If the fonts key is in the Registry, remove it and
then add it again. If it is not there, then add it. Add the fonts key to
HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Windows\CurrentVersion in Windows
95. In Windows NT 4.0, add the fonts key to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion. Install all of the fonts that you moved, and the system will
rebuild all the values for you. Make sure you have the Copy fonts to Fonts
folder selected. Then you can remove all the fonts in the temporary folder.
Summary
By fixing the Registry, changing entries, and adding keys and values as needed,
you can change the way Windows NT and Windows 95 work. You will be able to improve
performance, add options, correct errors, and eliminate pesky problems.
|